package com.lmscn.lms.api.interceptor;

import com.jfinal.aop.Invocation;
import com.jfinal.aop.PrototypeInterceptor;
import com.lmscn.lms.api.controller.SxlnNewController;

import java.util.List;

/**
 * 资讯文章关键字查询条件
 * 
 * @author zhang.xx
 * @date 2016年11月26日15:30:50
 */
public class ArticleKeyCondition extends PrototypeInterceptor {

	private String queryString;
	private Long categoryId;
	private SxlnNewController cbc;

	/**
	 * 对Condition的属性进行赋值初始化
	 */
	private void init(Invocation ai) {
		cbc = (SxlnNewController) ai.getController();
		queryString = cbc.getPara("queryString");
		categoryId = cbc.getParaToLong("categoryId");
	}

	@Override
	public void doIntercept(Invocation inv) {
		init(inv);
		cbc.kcd = this;
		inv.invoke();
	}

	/**
	 * 生成的查询条件
	 */
	public void buildSql(StringBuilder sql, List<Object> paras) {
		sql.append(" FROM t_article t WHERE t.category_id = ? ");
		paras.add(categoryId);
		sql.append(" and t.title like ? ");
		paras.add("%" + queryString + "%");
	}

}
